The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Many different types of memory devices can be used to maintain and store data and instructions for various computers and similar systems. In particular, flash memory is a type of electronic memory media that can be rewritten and that can retain content without consumption of power. Unlike dynamic random access memory (DRAM) devices and static random memory (SRAM) devices in which a single byte can be erased, flash memory devices are typically erased in fixed multi-bit blocks or sectors. Flash memory technology can include NOR flash and NAND flash, for example. NOR flash evolved from electrically erasable read only memory (EEPROM) chip technology, in which, unlike flash, a single byte can be erased. NAND flash evolved from DRAM technology. Flash memory devices are less expensive and denser as compared to many other memory devices, meaning that flash memory devices can store more data per unit area.
Flash memory has become popular, at least in part, because it combines the advantages of the high density and low cost of EPROM with the electrical erasability of EEPROM. Flash memory is nonvolatile—which means that it can be rewritten and can hold its content without power. It is used in many portable electronic products, such as cell phones, portable computers, voice recorders, thumbnail drives and the like, as well as in many larger electronic systems, such as cars, planes, industrial control systems, etc. The fact that flash memory can be rewritten, as well as its retention of data without a power source, small size, and light weight, have all combined to make flash memory devices useful and popular means for transporting and maintaining data.
While flash memory has certain advantages, there is a desire to improve the lifetime of flash memory devices, as flash memory blocks or sectors can be subject to failure or programming errors after a certain number of cycles.
In digital logic and computing, a counter is a device which stores the number of times a particular event or process has occurred. Because of some of the properties and characteristics of flash memory described above, flash memory provides a highly desirable, low cost option to implement counters. However, other properties of flash memory, such as limited erase cycles, present significant challenges, particularly if the number of events being counted is large.